library verilog;
use verilog.vl_types.all;
entity cmsdk_mcu_addr_decode is
    generic(
        BASEADDR_GPIO0  : integer := 1073807360;
        BASEADDR_GPIO1  : integer := 1073811456;
        BOOT_LOADER_PRESENT: integer := 0;
        BASEADDR_SYSROMTABLE: vl_logic_vector(31 downto 0) := (Hi1, Hi1, Hi1, Hi1, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0, Hi0)
    );
    port(
        haddr           : in     vl_logic_vector(31 downto 0);
        remap_ctrl      : in     vl_logic;
        boot_hsel       : out    vl_logic;
        flash_hsel      : out    vl_logic;
        sram_hsel       : out    vl_logic;
        apbsys_hsel     : out    vl_logic;
        gpio0_hsel      : out    vl_logic;
        gpio1_hsel      : out    vl_logic;
        sysctrl_hsel    : out    vl_logic;
        sysrom_hsel     : out    vl_logic;
        defslv_hsel     : out    vl_logic;
        hselmtb         : out    vl_logic;
        hselram         : out    vl_logic;
        hselsfr         : out    vl_logic
    );
    attribute mti_svvh_generic_type : integer;
    attribute mti_svvh_generic_type of BASEADDR_GPIO0 : constant is 1;
    attribute mti_svvh_generic_type of BASEADDR_GPIO1 : constant is 1;
    attribute mti_svvh_generic_type of BOOT_LOADER_PRESENT : constant is 1;
    attribute mti_svvh_generic_type of BASEADDR_SYSROMTABLE : constant is 1;
end cmsdk_mcu_addr_decode;
